home *** CD-ROM | disk | FTP | other *** search
/ Sounds Terrific 1 / Sounds Terrific CD (1994)(Weird Science)(Disc 2 of 2)[!][Amiga-PC].iso / modules / t / td-arjad.mod < prev    next >
Text File  |  1994-08-04  |  11KB  |  301 lines

  1. TJ-ARJAD.MOD.....Revision of TESTUL13 by Cpt Learjet.
  2. Trader Jack #1 @8315
  3. 1Wednesday, 3January 71, 51992 2 4:43 pm 2<3EST2>
  4. 3[7Msg Status3]7:1 Replies 6Wanted
  5. ┌────────────────────────────────────────────────────────────────────────────┐
  6. │ Mod Name: TJ-ARJAD.MOD                  Mod Author: Captain Learjet 1@8755 │
  7. │                                        Revision by: Trader Jack 1@8315     │
  8. │ Difficulty: Easy                        Date: 01-01-91                     │
  9. │ WWIV Version: 4.12+ with TESTUL13.MOD installed. Should work on 4.2x.      │
  10. │ Description: Adds the ARJ Compression Protocol to Captain Learjet's        │
  11. │              Test Upload 1.3 Mod.                                          │
  12. └────────────────────────────────────────────────────────────────────────────┘
  13.  
  14.         Firstly, I take no credit for this code.  All that I did was take
  15. Captain Learjet's mod and add in a few lines.  I am including the entire mod
  16. in case you do not have TESTUL13.MOD installed.  If you already have it in, all
  17. you need do is add the lines that are commented /*TJ-ARJAD*/ and you'll be set.
  18. The colors I use are my preferences and you may want to change them.  Please
  19. remember that the ^P^C # are literal for Borland C++ and Turbo C++.
  20.  
  21. Insert your favorite disclaimer here.
  22.  
  23. If I need to tell you to back up your source, you don't need to be modding.
  24.  
  25. Here goes....
  26.  
  27. <<  Step one:  >>   
  28.  
  29.      Load FCNS.H (bleck!) and add the following four functions at the
  30. bottom of XFER.C: (This step is optional, and was not done in the original mod.
  31. If you put the functions right at the very begining of XFER.C, all should be
  32. well.  The way I understand it, it is just the proper way to do it.)
  33.  
  34. void test_upload(int l, int sysop, char *s);               /*TJ-ARJAD*/
  35. void test_arc();                                           /*TJ-ARJAD*/
  36. void add_comment();                                        /*TJ-ARJAD*/
  37. void check_for_virus();                                    /*TJ-ARJAD*/
  38.  
  39. <<  Step two:  >>
  40.  
  41.  
  42.  
  43.     Load BBS.C and do this in void dlmainmenu() :
  44.  
  45.   if (strcmp(s,"/O")==0)
  46.     hangup=1;
  47.   if ((strcmp(s,"/?")==0) && (dcs()))      /*   <--  Search for this. */
  48.     printmenu(8);
  49.   if (strcmp(s,"/T")==0)                                  /*  ADD  */
  50.     test_arc();                                           /*  ADD  */
  51.   if (strcmp(s,"/V")==0)                                  /*  ADD  */
  52.     check_for_virus();                                    /*  ADD  */
  53.   if ((strcmp(s,"/K")==0) && (dcs()))                     /*  ADD  */
  54.      add_comment();                                       /*  ADD  */
  55.   if ((strcmp(s,"UPLOADALL")==0) && (dcs())) {       /* original code   */
  56.  
  57.     Save BBS.C
  58.  
  59. <<  Step three:  >>
  60.  
  61.     Load XFER.C and add the following FOUR functions near the top
  62.       of the file:
  63.  
  64.  
  65. void test_upload(int l, int sysop, char *s)
  66. {
  67.   char s1[81],s2[81],s3[81];
  68.   int i,i1,type,abort,next;
  69.   uploadsrec u;
  70.  
  71.   type=abort=next=0;
  72.  
  73.   if (l) {
  74.     align(s);
  75.     dliscan();
  76.   }
  77.   i=recno(s);
  78.   do {
  79.     if (i>0) {
  80.       SETREC(i);
  81.       read(dlf,(void *)&u,sizeof(uploadsrec));
  82.       if (l==0 || l==1) {
  83.         if ((compare(u.filename,"????????.ARC")) ||
  84.             (compare(u.filename,"????????.LZH")) ||
  85.             (compare(u.filename,"????????.PAK")) ||
  86.             (compare(u.filename,"????????.ARJ")) ||        /*TJ-ARJAD*/
  87.             (compare(u.filename,"????????.ZIP"))) {
  88.           if (!sysop)
  89.             sprintf(s1,"%s%s",directories[udir[curdir].subnum].path,
  90.                     stripfn(u.filename));
  91.           else
  92.             sprintf(s1,"%s%s",directories[0].path,stripfn(u.filename));
  93.           if (exist(s1)) {
  94.             ansic(2);
  95.             print("Testing archive integrity of ",u.filename,":","");
  96.             nl();
  97.             if (strstr(u.filename,".ARC"))
  98.               sprintf(s2,"PKUNPAK -T %s",s1);
  99.             if (strstr(u.filename,".LZH"))
  100.               sprintf(s2,"LHARC T %s",s1);
  101.             if (strstr(u.filename,".PAK"))
  102.               sprintf(s2,"PAK T %s",s1);
  103.             if (strstr(u.filename,".ARJ"))                 /*TJ-ARJAD*/
  104.               sprintf(s2,"ARJ T %s",s1);                   /*TJ-ARJAD*/
  105.             if (strstr(u.filename,".ZIP"))
  106.               sprintf(s2,"PKUNZIP -T %s",s1);
  107.             i1=run_external1(s2);
  108.             prt(2,u.filename);
  109.             if (i1) {
  110.               pl(" ^P^C6 \7FAILED\7 ^P^C2 the archive test!");
  111.               nl();
  112.               sprintf(s2,"^P^C2%s ^P^C6FAILED ^P^C2 an archive test. Please che
  113. ck the file!",u.filename);
  114.               ssm(1,0,s2);
  115.               sysoplog(s2);
  116.               if (l)
  117.                 closedl();
  118.               return;
  119.             } else {
  120.               prt(5," PASSED ^P^C2 the archive test.");nl();
  121.             }
  122.           }
  123.           checka(&abort,&next);
  124.         }
  125.       }
  126.       if (l==0 || l==2) {
  127.         if ((compare(u.filename,"????????.ARC")) ||
  128.             (compare(u.filename,"????????.LZH")) ||
  129.             (compare(u.filename,"????????.PAK")) ||
  130.             (compare(u.filename,"????????.ARJ")) ||        /*TJ-ARJAD*/
  131.             (compare(u.filename,"????????.ZIP")))
  132.           type=1;
  133.         if ((compare(u.filename,"????????.EXE")) ||
  134.             (compare(u.filename,"????????.COM")))
  135.           type=2;
  136.         if (type) {
  137.           if (!sysop)
  138.             sprintf(s1,"%s%s",directories[udir[curdir].subnum].path,
  139.                     stripfn(u.filename));
  140.           else
  141.             sprintf(s1,"%s%s",directories[0].path,stripfn(u.filename));
  142.           if (exist(s1)) {
  143.             nl();
  144.             ansic(2);
  145.             print("Scanning ",u.filename," for viruses:","");
  146.             nl();
  147.             prt(3,"Please be patient...");nl();
  148.             if (type==1) {
  149.               if (strstr(u.filename,".ARC"))
  150.                 sprintf(s2,"PKUNPAK %s %s",s1,syscfg.tempdir);
  151.               if (strstr(u.filename,".LZH"))
  152.                 sprintf(s2,"LHARC X %s %s",s1,syscfg.tempdir);
  153.               if (strstr(u.filename,".PAK"))
  154.                 sprintf(s2,"PAK E %s %s",s1,syscfg.tempdir);
  155.               if (strstr(u.filename,".ARJ"))                 /*TJ-ARJAD*/
  156.                 sprintf(s2,"ARJ E %s %s",s1,syscfg.tempdir); /*TJ-ARJAD*/
  157.               if (strstr(u.filename,".ZIP"))
  158.                 sprintf(s2,"PKUNZIP %s %s",s1,syscfg.tempdir);
  159.               run_external(s2);
  160.               sprintf(s3,"SCAN /nomem %s*.*",syscfg.tempdir);
  161.               i1=run_external1(s3);
  162.               remove_from_temp("*.*",0);
  163.             } else {
  164.               sprintf(s2,"SCAN /nomem %s",s1),
  165.               i1=run_external1(s2);
  166.             }
  167.             prt(2,u.filename);
  168.             if (i1==1) {
  169.               pl(" ^P^C6 \7FAILED\7 ^P^C2 the virus test! ^P^C0");
  170.               nl();
  171.               sprintf(s2,"%s FAILED the virus test. Please delete the file!",
  172.                       u.filename);
  173.               ssm(1,0,s2);
  174.               sysoplog(s2);
  175.               if (l)
  176.                 closedl();
  177.               return;
  178.             } else {
  179.               pl(" ^P^C5PASSED ^P^C2 the virus test. ^P^C0");
  180.               nl();
  181.             }
  182.           }
  183.           checka(&abort,&next);
  184.         }
  185.       }
  186.       if (l==0 || l==3) {
  187.         if (compare(u.filename,"????????.ZIP")) {
  188.           sprintf(s3,"Adding comment to %s",u.filename);
  189.           prt(2,s3);nl();
  190.           if (!sysop)
  191.             sprintf(s1,"PKZIP -z %s%s < %sCOMMENT.TXT",
  192.                     directories[udir[curdir].subnum].path,stripfn(u.filename),
  193.                     syscfg.gfilesdir);
  194.           else
  195.             sprintf(s1,"PKZIP -z %s%s < %sCOMMENT.TXT",
  196.                     directories[0].path,stripfn(u.filename),syscfg.gfilesdir);
  197.           run_external(s1);
  198.         }
  199.         checka(&abort,&next);
  200.       }
  201.     }
  202.     i=nrecno(s,i);
  203.   } while ((i>0) && (!hangup) && (!abort));
  204.   if (l)
  205.     closedl();
  206. }
  207.  
  208. void test_arc()
  209. {
  210.   char s[81];
  211.  
  212.   nl();
  213.   prt(2,"Archive to Test: ");
  214.   mpl(12);
  215.   input(s,12);
  216.   if (strchr(s,'.')==NULL)
  217.     strcat(s,".*");
  218.   test_upload(1,0,s);
  219.   topscreen();
  220. }
  221.  
  222. void check_for_virus()
  223. {
  224.   char s[81];
  225.  
  226.   nl();
  227.   prt(2,"Archive to Scan: ");
  228.   mpl(12);
  229.   input(s,12);
  230.   if (strchr(s,'.')==NULL)
  231.     strcat(s,".*");
  232.   test_upload(2,0,s);
  233.   topscreen();
  234. }
  235.  
  236. void add_comment()
  237. {
  238.   char s[81];
  239.  
  240.   nl();
  241.   prt(2,"Add Comment to: ");
  242.   mpl(12);
  243.   input(s,12);
  244.   if (strchr(s,'.')==NULL)
  245.     strcat(s,".*");
  246.   test_upload(3,0,s);
  247.   topscreen();
  248. }
  249.  
  250. << Step four: >>
  251.  
  252. In the function void upload(int dn) add this stuff:
  253.  
  254.  
  255.           sprintf(s,"+%s uploaded on %s",u.filename,directories[dn].name);
  256.           sysoplog(s);                       /* search for the above line */
  257.           if (!incom) {                      /* ADD */
  258.             nl();                            /* ADD */
  259.             prt(5,"Test the File? ");        /* ADD */
  260.             if (yn())                        /* ADD */
  261.               test_upload(0,0,u.filename);   /* ADD */
  262.           } else {                           /* ADD */
  263.             if (!dn)                         /* ADD */
  264.               test_upload(0,1,u.filename);   /* ADD */
  265.             else                             /* ADD */
  266.               test_upload(0,0,u.filename);   /* ADD */
  267.           }                                  /* ADD */
  268.           nl();
  269.           pl("File uploaded.");              /* Original code continues */
  270.  
  271.     Save XFER.C
  272.  
  273. << Step four: >>
  274.  
  275.    If you're in the IDE, punch F-9 and let 'er fly.  Go get a beer at the local
  276.    bar if you have an 8088, because the whole thing has to be re-compiled.
  277.  
  278.    If you use the MAKEFILE, I hope you know what to do because I don't!  I use
  279.    Borland C++ IDE.
  280.  
  281.  
  282. << Notes: >>
  283.  
  284.    If you are currently using Test Upload 1.2 or before, you must replace
  285.    all the functions with the new ones.  The new functions are more portable.
  286.    You no longer have to hard code your temporary directory into the function.
  287.    You must now have your COMMENT.TXT file in your GFILES directory.
  288.  
  289.    You must have SCAN, PKUNPAK, LHarc, PAK, PKZIP PKUNZIP and ARJ in your
  290.    WWIV directory. If you don't have all of these get them. Or if you don't
  291.    allow uploads of all types of archives, edit this file accordingly.
  292.  
  293.    Once again, I take no credit for the TESTUL13.MOD, just the additions.  If
  294.    you use this mod, PLEASE drop me a note so I know SOMEONE is using it.  If
  295.    you have any problems, please contact me at:
  296.  
  297.                                 -1=7<3*2Trader Jack 13@283153*7>1=0-
  298.  
  299. 2===============================================================================
  300.  Origin:  583150 5 2T7he 2T7rading 2P7ost 2BBS0 2 3803-787-97830 3 1USR DS0 1 4WOMR0able 2SNARF0able
  301.